专利摘要:
An additive manufacturing device processes voxels representing an object to be additively manufactured by determining two graphs according to whether the voxels indicate full or empty locations, and redefines some of the voxels indicating an empty location in full location to ensure mechanical stability. .
公开号:FR3038254A1
申请号:FR1556188
申请日:2015-06-30
公开日:2017-01-06
发明作者:Sylvain Lefebvre;Jeremie Dumas;An Lu
申请人:Institut National de Recherche en Informatique et en Automatique INRIA;Universite de Lorraine;
IPC主号:
专利说明:

The invention relates to the field of texturing and in particular the field of three-dimensional printing. Applying a texture to an object is an area that is ripe. With the increase in available resolutions, new needs are being felt to improve the quality of texture plating as well as the time required, especially in the case of textures representing a pattern, with which the irregularities are even more conspicuous.
These issues are even more present in the field of three-dimensional printing. Currently, the possibilities of customizing printed objects in three dimensions are quite limited. Indeed, it is possible to use only one material for printing, which greatly limits creativity. To work around this problem, techniques have been developed to customize three-dimensional printing by applying a pattern that defines emptiness and fullness in the printed object. But the mechanical strength of such objects is complex to guarantee. The invention improves the situation. For this purpose, the invention proposes a data processing device for additive manufacturing, comprising a memory for receiving voxel data from a surface of an object to be manufactured, each voxel indicating a full or empty location, a generator capable of to compute a first graph from the voxel data by defining each voxel as a node, connecting together by edges the nodes that correspond to respective voxels that share a corner, and assigning to each edge a weight calculated at starting from the distance between the centers of the voxels corresponding to the nodes associated with it, an arranged extractor, to define a second graph by defining nodes from a subset of nodes of the graph comprising nodes corresponding to voxels indicating a solid location, and to interconnect the nodes of the second graph with first edges and second edges, a second first edge being defined as representing a path within the first graph between two nodes of the second graph, each node of the first graph connecting these two nodes corresponding to a voxel indicating a full location, and the sum of the weights of the edges of the first graph connecting the two nodes associated with the first edge defining the weight of this first edge, a second edge being defined as representing a path within the first graph between two nodes of the second graph which can not be connected by a first edge, an arranged stiffener, to determine a list of second edges exceeding a threshold based on a physical simulation of an object corresponding to the second graph, to redefine at least some of these second edges as first edges, and to redefine at least some of the voxels corresponding to the nodes of the first graph belonging to the neighborhood of these edges redefined es as corresponding to a full location, and a driver arranged to call the generator, extractor and stiffener to produce object data to be printed.
This device is particularly advantageous because it allows to offer an object whose mechanical strength is safe, while offering aesthetic possibilities previously inaccessible.
According to the variant embodiments, the device may have one or more of the following characteristics: the extractor determines in a first operation the first edges by associating with each node of the first graph corresponding to a voxel indicating a full location a marker of a node of said subset, the markers being propagated from each of the nodes of said subset by selecting, from a marked node, that of the nodes which is directly connected to it by an edge in the first graph, which corresponds to a voxel indicating a full location and whose edge has the least weight, a first edge being created when the propagation involves the marking of a node already having a marker of a node of said subset, - after the first operation, the extractor determines the second edges by associating with each node of the first graph a marker of a node of said s ous-set, the markers being propagated from each of the nodes of said subset by choosing, from a marked node, that of the nodes which is directly connected to it by an edge in the first graph, whose edge presents the least weight, and which does not belong to a first edge, a second edge being created when the propagation involves the marking of a node already having a marker of a node of said subset, - the stiffener executes a recursive loop by a) simulating by finite elements from the second graph a stress field for each of the edges of the second graph, b) determining a list of second edges having a stress greater than a stress threshold, c) selecting the second edge of the list having the largest constraint at first edge, d) redefining this second edge as the first edge if it is at a selected distance in t weight erms of the last edge redefined in the current loop, and repeating the operation c) otherwise, e) repeating the loop in a) when the list no longer contains an edge, until the loop redefine no more edges, - the stiffener executes a loop in a) determining a ratio between the distance in terms of weight between the nodes of each second edge and the Euclidean distance between these same nodes, b) redefining each second edge whose upper ratio is at a threshold chosen as the first edge, - the memory further receives three-dimensional surface data (22), projection data and pattern data, and the device further comprises a sorter capable of selecting for a voxel input voxels surrounding the input voxel that correspond to the three-dimensional surface data, an estimator capable of calculating a similarity value between a first associated voxel to first projection data and a second voxel associated with second projection data by calculating the projection of the three-dimensional surface data associated with the first voxel and three-dimensional surface data associated with the second voxel, respectively on a first surface defined by the first projection data and on a second surface defined by the second projection data on which the pattern data is plated, and calculating a value derived from the difference between the projection of the first voxel on the first surface and the second on the one hand, and the difference between the projection of the second voxel on the first surface and the second surface on the other hand, a selector capable, for a given voxel and from a projection data set, of determine which of the projection data of the said game indicates the best similarity with voxels v given voxel birds, from a value derived from the similarity values obtained by repeatedly calling the estimator with both the voxel given as the first voxel and the projection data of the game as first projection data and on the other hand with at least some voxels from the sorter's call with the first voxel as the second voxel, and projection data associated with them as second projection data, and to associate with the given voxel the data of projection, a propagator capable, from a voxel of a given resolution and projection data associated therewith, to define a plurality of resolution voxels greater than the given resolution, and to associate with at least some of the this plurality of voxels the projection data associated with the voxel of given resolution, a pilot arranged to call the propagator with data three-dimensional surface area, a voxel and associated projection data, and to call the selector with at least some of the plurality of resulting voxels associated with projection data as a given voxel, as well as with a set of projection data comprising on the one hand the projection data associated with the plurality of resultant voxel data, and on the other hand a non-zero quantity of other projection data, the driver being further arranged to repeat the call of the propagator with at least some of the voxels associated with the projection data determined by the selector, as well as the selector call on at least some of the plurality of resultant voxels until a chosen resolution is reached; - the estimator determines the derived value the difference between the projection of a voxel on the first surface and on the second surface from the difference of texture resulting from the plating of the pattern data on the first surface and the second surface for these projections, - the estimator determines the similarity value further from a value derived from the value of the angle formed by the normal to the plane defined by the three-dimensional surface data on the one hand, and by the normal to the projection plane on the other hand, the similarity value is strictly positive and indicates a similarity that is all the better as the value of similarity is small, - the propagator associates at least some of the plurality of higher resolution voxels with randomly selected projection data, - the projection data includes a surface identifier selected from a set of plans and transformation data. indicating a translation and / or a rotation of the reference of the surface designated by the surface identifier for the plating of the pattern data, - the s projection data are independent of the three-dimensional surface data, - the area defined by the projection data is a plane, - the three-dimensional surface data associated with a given voxel comprise an average of the normal values of a portion of surface associated with the given voxel, - the pattern data are of a stochastic and repetitive nature, - the pilot-determined voxel data are used by the generator, - the driver is called with the stiffener-modified voxel data, - for the voxel data modified by the stiffener, the driver calls the selector to select only projection data such that the relevant voxel data will indicate a full location after processing, and - the stiffener and the driver are looped until the stiffener no longer modifies voxel data. Other characteristics and advantages of the invention will appear better on reading the following description, taken from examples given for illustrative and non-limiting purposes, taken from the drawings in which: FIG. 1 represents a schematic diagram of a device according to the invention, - Figure 2 shows an example of implementation of a function by the sorter of Figure 1, - Figure 3 shows an example of implementation of a function by the estimator of the FIG. 4 represents an exemplary implementation of a function by the selector of FIG. 1; FIG. 5 represents an exemplary implementation of a function by the propagator of FIG. 1; FIG. 6 shows an exemplary implementation of a function by the pilot of FIG. 1; FIG. 7 represents an exemplary implementation of the device of FIG. 1; FIG. 8 represents an example of implementation of FIG. of a function pa FIG. 9 shows an exemplary implementation of a function by the stiffener of FIG. 1, and FIG. 10 represents an example of implementation of a variant of FIG. a function by the selector of Figure 1, during a specific loop.
The drawings and the description below contain, for the most part, elements of a certain character. They can therefore not only serve to better understand the present invention, but also contribute to its definition, if any.
This description is likely to involve elements likely to be protected by copyright and / or copyright. The rights holder has no objection to the identical reproduction by anyone of this patent document or its description, as it appears in the official records. For the rest, he reserves his rights in full.
FIG. 1 represents a schematic diagram of a device 2 according to the invention. The device 2 comprises a memory 4, a sorter 6, an estimator 8, a selector 10, a propagator 12, a driver 14, a generator 16, an extractor 18, and a stiffener 20.
In the context of the invention, the memory 4 can be any type of data storage suitable for receiving digital data: hard disk, hard disk flash memory (SSD in English), flash memory in any form, RAM, disk magnetic, distributed storage locally or in the cloud, etc. The data calculated by the device can be stored on any type of memory similar to or on memory 2. This data can be erased after the device has completed its tasks or stored.
The data stored in the memory 4 are of several types. Thus, the memory 4 receives three-dimensional surface data 22, pattern data 24, and work data 26.
The three-dimensional surface data 22 describes the object on which it is desired to apply a texture. These data can be directly usable, that is to say have already been voxelized, or be raw data. In this case, an unrepresented element can perform the voxelization. Voxelization is not the subject of the invention, it will be considered in the following that the three-dimensional surface data 22 have already been voxelized. In the example described here, the three-dimensional surface data 22 contain for each voxel the average of the normals of the surface of the object associated with this voxel. Alternatively, the three-dimensional surface data 22 could contain the data of the surface as such, or any other data which makes it possible to describe the portion of the surface of an object that is associated with a voxel. The three-dimensional surface data 22 thus make it possible to define the object by voxels associated with portions of the surface of the object.
The pattern data 24 represents the pattern with which it is desired to texture the three-dimensional surface data 22. In the example described here, the goal is to produce a "black and white" pattern, which represents the full and the empty in the three-dimensional object to print. For this, the pattern data 24 can directly define a bit pattern. When the pattern data 24 is not of the binary type, it can be the subject of a specific processing for this purpose. Finally, in the case where it is not desired to produce a three-dimensional object composed of empty and full, the pattern data 24 can be colorized in order to texture the object in color, for example for multi-dimensional printing. -colors. The pattern data 24 may optionally define a relief on the solid portions.
The work data 26 includes all the data used to carry out the data processing according to the invention. This data includes data associating three-dimensional surface data with the data defining the voxels, projection data, similarity value data and other values described below. In the example described here, the projection data define on the one hand a projection plane (that is to say a pair of non-collinear vectors), and on the other hand a transformation in this plane.
Thus, the pattern data 24 will be transformed in a plane according to the transformation data of this plane to texture the latter, then the center of the voxel concerned is projected and can receive a texture associated with its projection in the textured plane. It is possible from a limited number of planes (26 in the example described here) and a number of transformations to define a very large number of possible projection planes. Once the projection data thus defined, it is therefore to choose the best plan / transformation pairs for each voxel. Alternatively, the pattern data 24 may be plated on the portion of the surface data corresponding to the voxel, and this textured surface may be projected onto the plane and then transformed according to the transformation data.
In some embodiments, it is possible to use other projection surfaces than a plane, such as cylinders or spheres, or any other surface that may be advantageous on certain object geometries.
Although the example described here uses planes as a projection surface, it is possible to use other projection surfaces such as cylinders or spheres depending on the geometries of the objects.
The sorter 6, the estimator 8, the selector 10, the propagator 12, the driver 14, the generator 16, the extractor 18 and the stiffener 20 are elements accessing directly or indirectly the memory 4. They can be made under the form of an appropriate computer code executed on one or more processors. By processors, it should be understood any processor adapted to the calculation of projection of textures on plans and treatments related to voxels. Such a processor can be made in any known manner, in the form of a microprocessor for a personal computer, a dedicated FPGA or SoC chip ("System on chip"), a computing resource on a grid, a microcontroller, or any other form to provide the computational power necessary for the embodiment described below. One or more of these elements can also be realized in the form of specialized electronic circuits such as an ASIC. A combination of processor and electronic circuits can also be considered.
As mentioned above, the invention achieves good texturing by finding the right planar / transformation pairs to be applied to each element of the three-dimensional surface data (voxels) and the pattern data. More specifically, the invention applies a method of resolution descent to determine these pairs.
For this, it is proceeded by considering that the problem is solved for a given resolution, and that one will seek to solve this same problem for a higher resolution, that is to say whose grain is finer. For that, at first, the result of the given resolution is propagated to the higher resolution, by cutting each of the voxels of the given resolution into voxels of higher resolution, and by applying to these voxels the solution found for the given resolution. Then, the problem is solved by optimizing the plan / transformation pairs thus assigned to the higher resolution. For this, each voxel of the higher resolution is tested with all the known plane / transformation pairs for the given resolution, and a similarity value is determined according to the pairs plan / transformation of the neighbors of this voxel. Finally, each voxel adopts the plan / transformation pair which indicates the best similarity with its neighbors to define the solution for the higher resolution.
These operations are performed by the sorter 6 whose role is to select the voxels that are the neighbors of a given voxel, the estimator 8 whose role is to calculate a similarity value between two voxels and their associated plan / transformation combination , the selector 10 which uses the sorter 6 and the estimator 8 to determine the best plan / transformation combination for a given voxel, the propagator 12 which propagates the solution of a given resolution at a higher resolution, and the driver 14, which selectively activates the selector 10 and the propagator 12 to propagate the resolution result in resolution, and to call the selector 10 on the resulting voxels to calculate the solution for each higher resolution.
These operations are described with reference to FIGS. 2 to 6.
Once the desired resolution is obtained, the projection of the voxels corresponding to the surface data on the planar / transformation pairs combined with the pattern data 24 produces result data 28.
Then, the generator 16, the extractor 18 and the stiffener 20 process the result data 28 to make the corresponding physical structure stable from a mechanical point of view.
These operations are described with reference to FIGS. 7 to 9.
As it appears, the operations of FIGS. 2 to 6 and 7 to 9, although synergetic to provide a device which starts from surface data and pattern data to give a three-dimensional printing object of an original nature, are quite independent. each other. Thus, Figures 2-6 describe an original device for producing advantageous plated pattern data, while Figures 7-9 describe an original device for producing a three-dimensional printing object that is mechanically sound.
In the figures described below, a variable whose name is all caps means in most cases a list containing several elements, while a variable whose name is lowercase designates a single element.
FIG. 2 represents an example of a function implemented by the sorter 6 to determine the neighboring voxels of a given voxel. In the example described here, a voxel is said to be close to another when it is included in a cube whose edge measures five voxels and whose center is the other voxel. In other words, if we define the voxels by coordinates of type (x; y; z) where x, y and z are multiples of one voxel dimension, two coordinate voxels (xl; yl; zl) and (x2; y2; z2) are neighbors when x1-x2, y1-y2 and z1-z2 have an absolute value less than or equal to 2. However, only voxels that correspond to surface data 22 are of interest.
The sorter 6 begins in an operation 260 with three-dimensional surface data O, a neighborhood size variable ns, an input voxel v and a neighbor list N initialized to 0 (i.e. empty ). As seen above, in the context of the example described here, the neighborhood size variable n s is set to 5 to denote a cube-shaped neighborhood of length 5 voxels. Alternatively, the neighborhood could have a different shape, as well as different dimensions.
In an operation 210, a function Ngb () is called with the input voxel v, and the neighbor size n s as variables. The function Ngb () selects all the voxels that surround the voxel v in a cube of dimension ns and centered on the voxel v, and stores them together in the list P. As will be seen later, the voxels that are associated with surface data 22 is associated with projection data 26. In the example described here, the list P receives both the neighboring voxels, but also the projection data 26 associated with them. As a variant, the correspondence between these voxels and the corresponding projection data is maintained outside the list P.
List P contains all the neighbors of voxel v, including voxels that do not correspond to surface data 22. Therefore, it is useless to keep these voxels, since they can not be used to project the data of reason 24.
For this, a loop is started in an operation 226, in which the list P is unpaired in a pair (x; p_dx) which receives the first voxel of the list P as well as the projection data 26 associated with it. In an operation 230, the projection data p_dx are tested: if they are empty, this means that the voxel x does not correspond to surface data 22, and vice versa. Thus, if the projection data p_dx is present, then the voxel x and its projection data p_dx are entered in the list N in an operation 240. Then, or when the voxel x is not associated with surface data 22 , the loop resumes with the operation 226. The loop ends when the list P is emptied, and the list N is returned in an operation 250.
FIG. 3 represents an example of a function implemented by the estimator 8 for calculating a similarity value between a first voxel v1 associated with first projection data p_dl, and a second voxel v2 associated with second data. projection p_d2.
The Applicant's work led her to consider that the similarity between two voxels is appreciated by the fact that their projections on the planes respectively associated with the first and second projection data are quite similar.
In other words, if we project the patterned data on the surface data 22 of the first voxel with the first projection data and secondly with the second projection data, the resulting textures must be similar. , and the same goes for the second voxel.
Thus, in an operation 300, the estimator 8 receives a first voxel v1, a second voxel v2, first projection data p_d1, second projection data p_d2, the pattern data t, the three-dimensional surface data O , and a similarity value variable initialized to 0.
In an operation 310, two textures t11 and t12 are computed by means of a function Proj (), so that: the texture t11 receives the texture of the projection of the center of the first voxel v1 on the plane defined by the first data p_dl projection and textured according to the latter with the pattern data 24, and - the texture tl2 receives the texture of the projection of the center of the first voxel vl on the plane defined by the second projection data p_d2 and textured according to the latter with the pattern data 24.
Then, or in parallel according to the variants, in an operation 312, two textures t21 and t22 are calculated by means of a function Proj (), so that: the texture t21 receives the texture of the projection of the center of the second voxel v2 on the plane defined by the first projection data p_dl and textured according to the latter with the pattern data 24, and - the texture t22 receives the texture of the projection of the center of the second voxel v2 on the plane defined by the second data of projection p_d2 and textured according to the latter with the pattern data 24.
Finally, in an operation 330, the similarity value returned d is calculated as the sum of the difference between the textures tl 1 and tl2 on the one hand and between the textures t21 and t22 on the other hand. In the example described here, the difference between the textures is calculated by means of a function L2 () which calculates the Euclidean norm of the pixel-by-pixel color difference of the respective textures.
FIG. 4 represents an example of a function implemented by the selector 10 to determine the projection data that are most suitable for a given voxel given its surroundings.
For this, the selector 10 receives in an operation 400 the voxel v concerned, the projection data p_dv associated therewith, a projection data set that can improve the situation PD, the pattern data t, the surface data in three O dimensions, and a value value of best similarity dm initialized to 0.
In a first loop, the similarity between the voxel v and its neighborhood is calculated for the projection data p_dv associated with it. Thus, in an operation 405, the selector 10 calls the sorter 6 which stores the result in a list N.
Then, a loop is performed in which the list N is depilated in an operation 410. Then, in an operation 415, the selector 10 calls the estimator 8 with on the one hand the voxel v and its associated projection data p_dv, and on the other hand, each neighbor voxel x depilated and its associated projection data p_dx. The variable of best similarity dm receives each time the similarity value thus calculated.
When the list N is empty, the best similarity variable dm has been initialized with the sum of the similarity values between the given voxel with its associated projection data p_dv and its neighbors with their associated projection data.
Then, the selector 10 initializes another loop in which each of the projection data from the projection data set PD will be applied to the given voxel v, to determine whether they are a better match with the voxels in the vicinity of the voxel v and their data. associated projection.
For this, a similarity value variable d is initialized to 0 in an operation 426, then the set PD is unstacked in an operation 425. Then, the same loop as for the operations 410 and 415 is performed with the unstacking operations 430 and calculating the similarity 435 between the voxel given v and the voxels of its neighborhood. However, in the operation 435, the voxel v is not called with the projection data p_dv associated with it, but with the projection data p_dy which has been depilated in the operation 425.
Then, in an operation 440, the values d and dm are compared. If d is less than dm, this means that the projection data p_dy, associated with the voxel v, are closer to the voxels in the vicinity of the voxel v than the projection data p_dv. In this case, the value dm receives the value d as a new value of best similarity in an operation 445, and the projection data p_dv receives the projection data p_dy in an operation 450. Thus, the pair dm and p_dv permanently contains the value of best similarity between the voxel v and voxels of its neighborhood, as well as the corresponding projection data. Then, or if d is greater than dm, the unstacking loop of the game P D resumes with the operation 426 and the zeroing of the variable d. Finally, when the set P D is empty, the selector 10 returns the projection data p_dv that best match the voxel v given its vicinity.
Many variants are directly conceivable, such as performing operations 445 and 450 in parallel, the parallelization of the calculation loops of the similarity value. In addition, some similarity value calculation loops for different p_dy projection data could also be performed in parallel, and the best candidate selected at the end.
Moreover, the Applicant has identified the fact that the similarity value between the given voxel and its neighborhood for given projection data may optionally depend on an additional value, which derives from the angle formed between the normal to the plane defined by the projection data given and the normal to the three-dimensional surface data associated with the given voxel. Indeed, if this angle is large, the projection of the pattern data can be strongly distorted, despite a good similarity with the voxels of the neighborhood. Thus, after calculating the neighbor similarity, a value derived from the dot product of the normal to the three-dimensional surface data associated with v with the normal to the projection data plane can be added.
The Applicant has also identified the fact that the similarity value between the given voxel and its neighborhood for given projection data may optionally depend on a position in the pattern, to encourage or discourage the use of certain portions of the pattern. This can for example be used when the pattern is repeated on the projection plane, to prevent visual discontinuities due to junctions between the edges of the pattern from appearing on the surface. Voxels that select a projection showing this portion of the pattern are penalized by increasing the similarity values.
Figure 5 shows an example of a function implemented by the propagator 12 to propagate the solution of a given resolution to a higher resolution.
In an operation 500, the propagator 12 receives an input voxel v, associated projection data p_dv, three-dimensional surface data O, a resolution sampling size s, and a list of higher resolution voxels V initialized to 0.
In an operation 510, the propagator 12 calls a function Up () with the voxel v and the sampling size s. The Up () function returns an X list of voxels of higher resolution, depending on the sampling size s. In the example described here, the sample size is set to 2, so that the list X contains 8 voxels that together correspond to voxel v.
Then, the propagator 12 executes a loop in which the voxels of the X list are popped in an operation 526, and then tested in an operation 525 to determine if these voxels correspond to three-dimensional surface data. If this is not the case, then the voxel is stored without associated projection data in the V list in an operation 540. Otherwise, the voxel is stored with the projection data p_dv in the V list in one operation. 550. Finally, when the list X is empty, the propagator 12 returns the list V in an operation 560.
Alternatively, operation 550 could introduce variety enhancing noise by randomly assigning separate projection data from the projection data p_dv to some of the at least higher resolution voxels that correspond to three-dimensional surface data. Alternatively, the variety is not added randomly, but deterministically.
FIG. 6 shows an example of a function implemented by the driver 14 to calculate the result data 22 from the three-dimensional surface data 22, the pattern data 24 and a projection data set.
In an operation 600, the driver 14 receives these data along with the desired resolution level r, the sampling size s and initializes a resolution loop variable i to 0.
In an operation 605, the driver 14 executes an Init () function to initiate the operations. The function of this function is to determine the first coarse resolution voxel that includes the three-dimensional surface data, as well as the corresponding projection data. In the example described here, there is only one first voxel, but there could be several. In addition, the projection data associated with this first voxel are chosen randomly. Alternatively, the function Init () could calculate these projection data.
Then, the pilot 14 starts a series of loops of index i until the resolution r is reached (operation 610). In each loop, a list Z associating voxels and projection data is initialized to 0 in an operation 615. Next, the list of resolution voxels corresponding to the previous iteration V is popped up in an operation 626.
Each voxel x and its projection data p_dx are then propagated by calling the propagator 12 in an operation 625 and the resulting list is stored in a list W. The projection data set PD used to operate the selector is then initialized to 0 in an operation 630, and a loop traverses the list W with an operation 635 and an operation 640 to fill the list PD with the projection data associated with the voxels of the list W.
Then, in an operation 645, a function Rand () adds a selected number of projection data to the list P D to promote the exploration of new solutions. Here again, the variety may not be added randomly but deterministically.
Finally, the list W is traversed by a loop, starting from an operation 650. The selector 10 is called in an operation 655 with each voxel of the list W in order to find the best projection data p_dy of the list PD taking into account from his neighborhood. The result is stored in the list Z which constitutes the result data 22 for the current index resolution i.
When the entire list V has been propagated and optimized, it is updated in an operation 665 with the resulting list Z, which represents the solution for the index resolution i, then the index i is incremented in an operation 670.
It should be noted that in order to explore all the possibilities and to enrich the exploration, the loop of the operations 630 to 660 can be repeated a chosen number of times, or a number of times depending on a convergence criterion, in order to ensure that the exploration of new solutions has been optimized within each resolution.
When the resolution r is reached, the driver returns the list V containing the result data in an operation 675.
FIG. 7 represents an exemplary implementation of the device 2 for transforming the previously calculated voxel data into three-dimensional printable object data.
Indeed, the data produced by the pilot 14 are not necessarily "reliable" structurally. For example, looking at the result data 22, it appears that the ears of the rabbit, although corresponding to the ideal projection of the pattern data, are not attached to the rest of the body. Under these conditions, you can not print an object. The object of FIGS. 7 to 9 is also applicable in the case where the voxel data are not obtained as described above.
Thus, the device 2 shares in an operation 700 of voxel data V. This voxel data describes a three-dimensional object blank: either the voxel designates a solid location, or it designates an empty space.
Then, in an operation 720, the generator 16 transforms the voxel data V into a first graph G. In the example described here, the graph G is constructed as follows: each voxel of the voxel data V forms a node, two voxels are considered neighbors and connected by an edge if and only if they share a corner, - the weight of the edge in the graph is the length of the edge, defined as the distance between the centers of the two voxels connected by the ridge. The invention proposes two methods that can be combined to evaluate the mechanical strength of an object corresponding to the voxel data. In both cases, the number of nodes in the first graph G is too important to be able to calculate anything. Indeed, for the additively manufactured object to be aesthetic, it takes a large number of voxels to have a good print resolution, which makes the simulation very complex.
To simplify the calculations, in an operation 740, the graph G is "simplified" into a second graph A by means of a function Conn (). The function Conn () is performed by the extractor 18, and FIG. 8 represents an example of implementation of this function.
Beforehand, in operation 720, the first graph G is sampled Poisson to define a sampled graph S of voxels each corresponding to a full location.
In an operation 800, the extractor 18 starts from the data of the first graph G, the sampled graph S, as well as from a graph of markers T and a second graph A which are both initialized to 0.
The purpose of the function Conn () is to connect all the nodes of the sampled graph S by first edges and second edges. The first edges are "solid" edges, while the second edges are "non-solid" edges. This is achieved by the propagation of markers in the graph of markers T, starting from the nodes of the sampled graph S.
In an operation 805, the marker graph T is initialized by means of an Exs () function which receives the sampled graph S and the first graph G as arguments. The function Exs () proceeds by selecting, for each node of the graph S, the nodes of the first graph G with which it shares an edge, and to mark with a marker identifying the respective node of the graph S that of the selected nodes which designates a location full and whose ridge has the lowest weight. In other words, by iterating this process it is a matter of propagating the graph S in the solid candidates of the graph G according to a geodesic distance based on the weight of the edges. Operation 805 can be viewed as an initialization operation. Indeed, after this one, two loops will follow one another. The first loop will determine the first edges and the second loop will determine the second edges.
The first loop begins with an operation 810 in which the Exs () function is called again to propagate the markers. For this, the marker graph T is used as argument of the function Exs () (instead of the sampled graph S of the operation 805). Thus, it is the nodes that were marked at the previous iteration of the loop that are propagated, and the result is reinjected into the graph of markers T.
Next, in an operation 815, an Edg () function tests the T marker graph to identify whether a solid edge has been detected by the propagation. A solid edge is detected when two different markers are associated with the same voxel of the first graph G. In fact, this means that this voxel is directly connected by a voxel path designating a solid location between two nodes of the second graph which designate them. even a solid location.
If one or more edges are identified by the function Edg (), they are introduced in the second graph A in an operation 820. Then, or when no solid edge is detected, a function Fill () determines if all the nodes of the marker graph have been propagated in an operation 825. If it remains possible to propagate markers, the loop resumes in 810.
Otherwise, the second loop starts in an operation 830 with the execution of an Ex () function. The Ex () function is similar to the Exs () function, except that marker propagation can be done to all voxels in the first G graph, and not only to those that indicate a full location. The Ex () function also differs from the Exs () function in that the propagation excludes the voxels associated with a first edge. The remainder of the second loop is similar with operations 835, 840 and 845 which are identical to operations 815, 820 and 825.
When all the markers have been propagated in the second loop, the function Conn () ends in an operation 850. This results in a second graph A which contains a set of nodes that correspond to a Poisson sampling of voxels indicating a full location and which are interconnected by edges that reflect the fact that the voxel paths between these nodes indicate full or empty locations. The extractor 18 could implement the Conn () function differently, for example by detecting the first edges and the second edges simultaneously, or by using a non-geodesic distance or determined differently.
The stiffener 20 starts from the second graph A and analyzes whether an object corresponding to this graph would be mechanically stable. For this, the stiffener 20 uses two methods that can be used alone or in combination. These methods correspond to two distinct physical simulations that determine whether one or more edges exceed a threshold that is synonymous with structural rigidity.
The first method is a method based on a finite element simulation and Figure 9 represents an example of implementation of this method by the stiffener 20. This function analyzes the second edges, called "non-solid" and redefines some of they are solid heads if necessary to make the object mechanically rigid.
In an operation 900, the stiffener 20 starts from the second graph A. Then, in an operation 910, a loop starts. This loop begins with a simulation by finite element methods of the object defined by the second graph A. This simulation is performed by a function FE () which also has access to the parameters of mechanical simulation (that is to say the boundary conditions to be met by the printed object for a desired manipulation).
The result of the function FE () is a list of second edges W in which the second edges are classified in order of decreasing simulated stress, each of these edges having been determined to have a stress exceeding a constraint threshold in view of the conditions at limits.
This ranking in order of decreasing stress value is important because the principle of the method applied by the stiffener 20 is to make solid the most constrained edge, then the second most constrained edge which is at a given distance from the edge previous, etc.
Therefore, in an operation 920, the first edge x of the list W is extracted, and this is made solid by a function Hrd () in an operation 930.
Then, in an operation 940, it is tested if the list W still contains an edge. If so, then the corresponding y edge is tested by a Dist () function in a 950 operation to determine if it is at a sufficient distance from the newly-made x edge. If it is not, then operation 940 is repeated, until a non-solid edge sufficiently far from the edge x is found in W or the list is empty.
Thus, all the edges are not systematically made solid when they are close, which makes it possible to better respect the original form of the object of the second graph A.
If such an edge is found, then it is made solid in an operation 960 identical to the operation 930, and in an operation 970, the edge is stored as the previous edge x for the repetition of the loop with the operation 940 .
When the list W is empty, a new simulation is executed with the operation 910, to determine if the modifications were sufficient to make the object mechanically rigid.
If the list W is not empty, then the loop is repeated. If the list W is empty, then none of the non-solid edges has a stress value that is too large given the boundary conditions, and the function ends with the operation 980, in which all the voxels of the first corresponding graph G the edges that have been made solid are also made solid. In the example described here, the 3 neighbors in the geodesic sense of each voxel of the edge, on either side of it, are also made solid. Alternatively, neighboring voxels that are also made solid could be selected differently (for example on a geometric and non-geodesic criterion), or neighboring voxels might not be changed.
The second method that the stiffener 20 can apply is a geometric method. For this, the stiffener 20 traverses each of the non-solid edges of the second graph A and calculates the ratio between the Euclidean distance between the two nodes of each edge and the geodesic distance through the solid edges that separates them. If this ratio exceeds a chosen threshold, then the edge is made solid, as well as optionnally the neighbors of the voxels that compose it in the first graph as described above.
As mentioned above, the mechanical method and the geometric method can be used separately or in combination. The Applicant's work leads her in the current state of her research to consider that their combination is particularly advantageous, although it may seem redundant to the skilled person.
Once the stiffener 20 has redefined the non-solid edges, the object can be printed on the basis of the voxels corresponding to the second graph A and the voxels of the first graph G thus modified.
The Applicant has nevertheless identified that this modification of the edges, although mechanically efficient, may limit the efficiency of the image processing presented with FIGS. 2 to 5.
To correct this, the Applicant has discovered that it is possible to execute the stiffener 20 and the loop image processing function in order to obtain an optimal visual result while maintaining a good mechanical strength.
For this, the Applicant has discovered that it was advantageous, after the execution of the stiffener 20, to recall the image processing on the voxels that have been redefined. For this, the driver 14 performs the function of Figure 5 again, only on modified voxels, for a smaller number of resolutions, and a slightly different way.
Thus, in a first step, the pilot 14 determines for each modified voxel the list of parent voxels for a chosen number of lower resolutions, that is to say what are the voxels that the propagator 12 has transformed into these voxels, and this for a size corresponding to that of the lowest resolution sought.
In the example described here, the number of resolutions chosen is 2, but it could be higher. For example, if the number of resolutions chosen is 2, and the propagator 12 doubles the resolution at each execution (eight times more voxels), then: the lowest resolution will include a voxel, the intermediate resolution will include 8 voxels, and the resolution corresponding to the voxels of the second graph A will include 64 voxels. The execution of the driver 14 will be carried out from each of the lowest resolution voxels which has a son which has been modified by the stiffener 20.
In each resolution, the driver 14 indicates whether a voxel corresponds to a voxel that has been modified. When this is not the case, the selector 10 is executed identically. On the other hand, if the voxel in question corresponds to a voxel that has been modified, then the function performed by the selector 10 is slightly modified according to FIG. 10 to select as projection data 26 only those which will also designate a full location. Thus, the execution of the driver 14 does not degrade the mechanical structure, and only visually harmonize the object so that it better corresponds to the pattern data 24.
In FIG. 10, the operations identical to those of FIG. 4 have been represented with an identical numerical suffix, so that the operation 410 and the operation 1010 are identical, and so on. As can be seen in this figure, only one operation 1042 has been added, which is a test to determine whether projection data p_dy likely to improve the image processing correspond to a solid location, or not.
Once the pilot 14 has finished this processing, the generator 16, the extractor 18 and the stiffener 20 are again applied to the resulting voxel data. The loop ends when the stiffener 20 does not modify any edge, and therefore no voxel.
Then, the additive manufacturing operations, including the generation of the support can be performed as is known. The invention may also be defined as an additive manufacturing data processing method, comprising the following operations: a) receiving voxel data from a surface of an object to be manufactured, each voxel indicating a full or empty location, b) calculating a first graph from the voxel data by defining each voxel as a node, connecting the nodes that correspond to respective voxels that share a corner with edges, and assigning each edge a calculated weight from the distance between the centers of the voxels corresponding to the nodes associated with it, c) calculating a second graph by defining nodes from a subset of nodes of the graph comprising nodes corresponding to voxels indicating a location full, and to interconnect the nodes of the second graph with first edges and second edges, a first edge being defined as representing the shortest path in terms of weight within the first graph between two nodes of the second graph, each node of the first graph connecting these two nodes corresponding to a voxel indicating a full location, and the sum of the weights of the edges of the first graph connecting the two nodes associated with the first edge defining the weight of this first edge, a second edge being defined as representing the shortest path in terms of weight within the first graph between two nodes of the second graph which can not be connected by a first edge, d) determine a list of second edges exceeding a threshold based on a physical simulation of an object corresponding to the second graph, and redefine at least some of these second edges as first edges, and to redefine at least some of the voxels corresponding to the nodes of the first graph belonging to the neighborhood of these edges redefined as corresponding to a solid location.
This method may have one or more of the following characteristics: the operation c) comprises the following operation: cl) determining the first edges by associating with each node of the first graph corresponding to voxel indicating a full location a marker of a node of said subset, the markers being propagated from each of the nodes of said subset by selecting, from a marked node, that of the nodes which is directly connected to it by an edge in the first graph, which corresponds to a voxel indicating a full location and whose edge has the least weight, a first edge being created when the propagation involves the marking of a node already having a marker of a node of said subset, - the operation c) further comprises the following operation: c2) determining the second edges by associating with each node of the first graph a marker of a node of said sub-en seems, the markers being propagated from each of the nodes of said subset by choosing, from a marked node, that of the nodes which is directly connected to it by an edge in the first graph, whose edge has the weight the weakest, and which does not belong to a first edge, a second edge being created when the propagation involves the marking of a node already having a marker of a node of said subset, - the operation d) comprises a recursive loop comprising the following operations: d1) finite element simulation from the second graph a stress field for each of the edges of the second graph, d2) determining a list of second edges having a constraint greater than a constraint threshold, d3 ) select the second edge of the list with the greatest constraint at the first edge, d4) redefining this second edge as the first edge if it is st at a chosen distance in terms of the weight of the last edge redefined in the short loop, and repeating the operation d3) else, d5) starting the loop in a) when the list no longer contains an edge, until in that the loop does not redefine any edge, - the operation d) comprises a loop comprising the following operations: d1) determining a ratio between the distance in terms of weight between the nodes of each second edge and the Euclidean distance between these same nodes, d2) redefine each second edge whose upper ratio is at a threshold chosen as the first edge, - the method also comprises the following operations: e) receiving three-dimensional surface data, associated voxel data, projection data and pattern data, f) from a voxel of a given resolution and projection data associated therewith, defining a plurality of resonant voxels higher than the given resolution, and associating with at least some of this plurality of voxels the projection data associated with the given resolution voxel, g) for at least some of the plurality of resultant voxels with which projection data is associated as the that given voxel: gl) define a projection dataset comprising on the one hand the projection data associated with the plurality of resultant voxel data, and on the other hand a non-zero quantity of other projection data, g2) for at least some of the projection data resulting from the operation gl), and for at least some of the voxels neighboring the given voxel, and to calculate a similarity value between the given voxel and each neighboring voxel concerned, from the projection three-dimensional surface data associated with the given voxel and three-dimensional surface data associated with the neighboring voxel, respectively on a first surface defined by projection data of the project data set and a second area defined by the neighboring voxel projection data on which the pattern data is plated, calculating a value derived from the difference between the projection of the voxel given on the first surface and the second surface on the one hand, and the difference between the projection of the neighboring voxel on the first surface and the second surface on the other hand, g3) determine those of the projection data of said game which indicate the best similarity, h) Repeating the operations f) and g) with at least some of the resulting voxels, until a chosen resolution is reached, - the operation g) comprises the determination of the value derived from the difference between the projection of a voxel on the first surface and the second surface from the texture difference resulting from the plating of the pattern data on the first surface. the surface and on the second surface for these projections, - the operation g) comprises the determination of the similarity value from a value derived from the value of the angle formed by the normal to the plane defined by the data of three-dimensional surface on the one hand, and by the normal on the projection plane on the other hand, - in operation g), the similarity value is strictly positive and indicates a similarity that is all the better as the similarity value is weak, - the operation f) comprises the association of at least some of the plurality of higher resolution voxels with randomly selected projection data, - the projection data comprises a surface identifier selected from a set of planes and transformation data indicative of a translation and / or a rotation of the surface mark designated by the surface identifier for the plating of the pattern data, - the data The projection area is independent of the three-dimensional surface data, - the area defined by the projection data is a plane, - the pattern data is of a stochastic and repetitive nature. the similarity value is strictly positive and indicates a similarity that is all the better that the similarity value is low; the voxel data of the operation a) are obtained by the application of the operations e) to h); the operations e) to h) are repeated with the voxel data modified in the operation d), - for the voxel data modified in the operation d), the operation g3) is repeated so as to select only projection data such that the relevant voxel data will indicate a full location, - operations a) through d) and e) through h) are repeated in a loop until operation d) no longer modifies voxel data . The invention may also be defined as a computer program product comprising portions of program code for implementing the device or method as described above when said program is run on a computer.
权利要求:
Claims (20)
[1" id="c-fr-0001]
claims
An additive manufacturing device, comprising: a memory (4) for receiving voxel data from a surface of an object to be manufactured, each voxel indicating a full or empty location, a generator (16) capable of computing a first graph (G) from the voxel data by defining each voxel as a node, connecting together by edges the nodes that correspond to respective voxels that share a corner, and assigning to each edge a weight calculated from the distance between the centers of the voxels corresponding to the nodes associated with it, an extractor (18) arranged, to define a second graph (A) by defining nodes from a subset of nodes of the graph comprising nodes corresponding to voxels indicating a full location, and for interconnecting the nodes of the second graph (A) by first edges and second edges, a first edge being defined as even representing a path within the first graph (G) between two nodes of the second graph (A), each node of the first graph (G) connecting these two nodes corresponding to a voxel indicating a full location, and the sum of the weights of the edges of the first graph (G) connecting the two nodes associated with the first edge defining the weight of this first edge, a second edge being defined as representing a path within the first graph (G) between two nodes of the second graph (A) which can not be connected by a first edge, - a stiffener (20) arranged, to determine a list of second edges exceeding a threshold on the basis of a physical simulation of an object corresponding to the second graph (A), to redefine at least some of these second edges as first edges, and to redefine at least some of the voxels corresponding to the nodes of the first graph (G) belonging to the vicinity of these red edges defined as corresponding to a solid location, and a driver (14) arranged to call the generator (16), the extractor (18) and the stiffener (20) to produce object data to be printed (30).
[2" id="c-fr-0002]
2. Device according to claim 1, wherein the extractor (18) is arranged to determine in a first operation the first edges by associating with each node of the first graph (G) corresponding to a voxel indicating a full location a marker of a node of said subset, the markers being propagated from each of the nodes of said subset by selecting, from a marked node, that of the nodes which is directly connected to it by an edge in the first graph (G) , which corresponds to a voxel indicating a full location and whose edge has the least weight, a first edge being created when the propagation involves the marking of a node already having a marker of a node of said subset.
[3" id="c-fr-0003]
3. Device according to claim 2, wherein the extractor (18) is arranged to determine, after the first operation, the second edges by associating with each node of the first graph (G) a marker of a node of said subset , the markers being propagated from each of the nodes of said subset by selecting, from a marked node, that of the nodes which is directly connected to it by an edge in the first graph (G), whose edge presents the least weight, and which does not belong to a first edge, a second edge being created when the propagation involves the marking of a node already having a marker of a node of said subset.
[4" id="c-fr-0004]
4. Device according to one of the preceding claims, wherein the stiffener (20) is arranged to perform a recursive loop by a) simulating by finite elements from the second graph (A) a stress field for each of the edges of the second graph (A), b) determining a list of second edges having a constraint greater than a stress threshold, c) selecting the second edge of the list having the greatest constraint at first edge, d) redefining this second edge as a first edge if it is at a selected distance in terms of the weight of the last edge redefined in the current loop, and repeating the operation c) otherwise, e) restarting the loop in a) when the list no longer contains edge, until the loop does not redefine any more edges.
[5" id="c-fr-0005]
5. Device according to one of the preceding claims, wherein the stiffener (20) is arranged to perform a loop in a) determining a ratio between the distance in terms of weight between the nodes of each second edge and the Euclidean distance between them. same nodes, b) redefining each second edge whose upper ratio is at a threshold selected as the first edge.
[6" id="c-fr-0006]
Apparatus according to one of the preceding claims, wherein the memory (4) further receives three-dimensional surface data (22), projection data (26) and pattern data (24), and the device further comprises: a sorter (6) capable of selecting for voxel input voxels surrounding the input voxel that correspond to the three-dimensional surface data, an estimator (8) capable of calculating a similarity value between a first voxel associated with first projection data and a second voxel associated with second projection data by calculating the projection of the three-dimensional surface data associated with the first voxel and three-dimensional surface data associated with the second voxel, respectively on a first surface defined by the first projection data and on a second surface defined by the second projection data on which the donations are calculated, and calculating a value derived from the difference between the projection of the first voxel on the first surface and the second surface on the one hand, and the difference between the projection of the second voxel on the first surface and the second surface on the other hand, a selector (10) capable, for a given voxel and from a projection data set (26), to determine those of the projection data of said game that indicate the best similarity with voxels neighbors of the given voxel, from a value derived from the similarity values obtained by repeatedly calling the estimator (10) with both the voxel given as the first voxel and the game projection data as the first data of projection and on the other hand with some at least voxels drawn from the sorter call (6) with the first voxel as the second voxel, and projection data (26) associated therewith defined as second projection data (26), and for associating with the given voxel the determined projection data, a propagator (12) capable, from a voxel of a given resolution and projection data (26) which are associated, to define a plurality of resolution voxels higher than the given resolution, and to associate with at least some of this plurality of voxels the projection data associated with the given resolution voxel, a driver (14) arranged to call the propagator (12) with three-dimensional surface data (22), a voxel (26) and associated projection data, and to call the selector (10) with at least some of the plurality of resultant voxels associated with data as a given voxel, as well as with a projection data set (26) comprising on the one hand the projection data associated with the plurality of voxel data r sultante, and secondly a non-zero quantity of other projection data, the driver (14) being further arranged to repeat the call of the propagator (12) with at least some of the voxels associated with the projection data determined by the selector (10), as well as the selector (10) call on at least some of the plurality of resultant voxels until a selected resolution is reached.
[7" id="c-fr-0007]
7. Device according to claim 6, wherein the estimator (10) is arranged to determine the value derived from the difference between the projection of a voxel on the first surface and on the second surface from the resulting texture difference. plating the pattern data on the first surface and the second surface for these projections.
[8" id="c-fr-0008]
8. Device according to claim 6 or 7, wherein the estimator (10) is arranged to determine the similarity value from a value derived from the value of the angle formed by the normal to the plane defined by the data. three-dimensional surface on the one hand, and by the normal to the projection plane on the other hand.
[9" id="c-fr-0009]
9. Device according to one of claims 6 to 8, wherein the estimator (10) is arranged to determine a strictly positive similarity value and indicating a similarity better as the similarity value is low.
[10" id="c-fr-0010]
10. Device according to one of claims 6 to 9, wherein the propagator (12) is arranged to associate at least some voxels of the plurality of voxels higher resolution with projection data (26) randomly selected.
[11" id="c-fr-0011]
11. Device according to one of claims 6 to 10, wherein the memory (4) is arranged to receive projection data (26) which comprises a surface identifier selected from a set of plans and transformation data (26). ) indicating a translation and / or a rotation of the reference of the surface designated by the surface identifier for the plating of the pattern data (24).
[12" id="c-fr-0012]
12. Device according to one of claims 6 to 11, wherein the memory (4) is arranged to receive projection data (26) independent of the three-dimensional surface data (22).
[13" id="c-fr-0013]
13. Device according to one of claims 6 to 12, wherein the memory (4) is arranged to receive projection data defining a surface which is a plane.
[14" id="c-fr-0014]
14. Device according to one of claims 6 to 13, wherein the memory (4) is arranged to receive pattern data (24) of stochastic and repetitive nature.
[15" id="c-fr-0015]
15. Device according to one of claims 6 to 14, wherein the generator (16) is arranged to use the voxel data determined by the pilot (14).
[16" id="c-fr-0016]
16. Device according to one of claims 6 to 15, wherein the driver (14) is arranged to be called with voxel data modified by the stiffener (20).
[17" id="c-fr-0017]
Device according to claim 16, wherein the driver (14) is arranged, for the voxel data modified by the stiffener (20), to call the selector (10) so as to select only projection data (26). ) such that the relevant voxel data will indicate a full location after processing.
[18" id="c-fr-0018]
The apparatus of claim 17, wherein the stiffener (20) and the driver (14) are arranged to be looped until the stiffener (20) no longer modifies voxel data.
[19" id="c-fr-0019]
19. A data processing method for additive manufacturing, comprising the following operations: a) receiving voxel data from a surface of an object to be manufactured, each voxel indicating a full or empty location, b) calculating a first graph ( G) from the voxel data by defining each voxel as a node, connecting together by edges the nodes that correspond to respective voxels that share a corner, and assigning to each edge a weight calculated from the distance between the centers of the voxels corresponding to the nodes associated with it, c) calculating a second graph (A) by defining nodes from a subset of nodes of the graph comprising nodes corresponding to voxels indicating a full location , and to interconnect the nodes of the second graph (A) with first edges and second edges, a first edge being defined as representing the n the shortest in terms of weight within the first graph (G) between two nodes of the second graph (A), each node of the first graph (G) connecting these two nodes corresponding to a voxel indicating a full location, and the sum weights of the edges of the first graph (G) connecting the two nodes associated with the first edge defining the weight of this first edge, a second edge being defined as representing the shortest path in terms of weight within the first graph (G ) between two nodes of the second graph (A) which can not be connected by a first edge, d) determining a list of second edges exceeding a threshold on the basis of a physical simulation of an object corresponding to the second graph (A ), and redefine at least some of these second edges as first edges, and to redefine at least some of the voxels corresponding to the nodes of the first graph (G) belonging to the vicinity of these edges. are redefined as corresponding to a full location.
[20" id="c-fr-0020]
A computer program product comprising portions of program code for implementing the device according to one of claims 1 to 18 or the method of claim 19 when said program is run on a computer.
类似技术:
公开号 | 公开日 | 专利标题
EP3317783A1|2018-05-09|Device for processing data for additive manufacturing
FR2974433A1|2012-10-26|EVALUATION OF IMAGE QUALITY
Battiato et al.2007|Digital mosaic frameworks‐an overview
WO2015085435A1|2015-06-18|Method and system for comparing 3d models
EP3070678B1|2020-10-07|Method for generating a cyclic video sequence
WO2016177959A1|2016-11-10|Method of simplifying a geometry model
FR2974434A1|2012-10-26|PREDICTING THE AESTHETIC VALUE OF AN IMAGE
Khalid et al.2020|OC-FakeDect: Classifying deepfakes using one-class variational autoencoder
FR2955681A1|2011-07-29|SYSTEM FOR NAVIGATION AND EXPLORATION OF CREATION IMAGES
Malu et al.2017|Learning photography aesthetics with deep cnns
FR3016066A1|2015-07-03|WEIGHTING SYSTEM AND METHOD FOR COLLECTING IMAGE DESCRIPTORS
WO2010076260A1|2010-07-08|Method and system for sorting data from a database
Vo et al.2018|Structural inpainting
EP3317782A1|2018-05-09|Data processing device
Ferrari et al.2018|Computer Vision–ECCV 2018: 15th European Conference, Munich, Germany, September 8–14, 2018, Proceedings, Part V
EP3918576A1|2021-12-08|Dynamic three-dimensional imaging method
FR3066953B1|2019-08-02|DATA PROCESSING DEVICE FOR THE GENERATION OF MICROSTRUCTURES WITH ORTHOTROPIC ELASTIC PROPERTIES
Mahad et al.2020|Leveraging Pyramidal Feature Hierarchy for 3D Reconstruction
EP2591457B1|2014-10-22|Image synthesis device
FR3049213A1|2017-09-29|DATA PROCESSING DEVICE FOR THE GENERATION OF VARIABLE ELASTICITY MICROSTRUCTURES BY ADDITIVE MANUFACTURING
FR3105529A1|2021-06-25|A method of segmenting an input image representing a document containing structured information
CN113486908A|2021-10-08|Target detection method and device, electronic equipment and readable storage medium
Abouelaziz et al.2019|Mesh Visual Quality based on the combination of convolutional neural networks
Liu et al.2019|A Complex Image Restoration Method Based on Generating Adversarial Neural Networks
FR3087033A1|2020-04-10|METHODS OF LEARNING PARAMETERS OF A CONVOLVED NEURON ARRAY AND DETECTING VISIBLE ELEMENTS OF INTEREST
同族专利:
公开号 | 公开日
FR3038254B1|2021-02-12|
US20180264736A1|2018-09-20|
US10751947B2|2020-08-25|
WO2017001768A1|2017-01-05|
EP3317783A1|2018-05-09|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US20010005204A1|1996-08-29|2001-06-28|Sanyo Electric Co., Ltd.|Texture information assignment method, object extraction method, three-dimensional model generating method, and apparatus thereof|WO2018220313A1|2017-06-01|2018-12-06|Inria Institut National De Recherche En Informatique Et En Automatique|Data processing device for generating microstructures with orthotropic elastic properties|US8579620B2|2011-03-02|2013-11-12|Andy Wu|Single-action three-dimensional model printing methods|
US10354018B2|2014-06-20|2019-07-16|Autodesk, Inc.|Generating tubes within three-dimensional models|
US20160096318A1|2014-10-03|2016-04-07|Disney Enterprises, Inc.|Three dimensional printer system and method for printing 3d objects with user-defined material parameters|
US10354442B2|2014-11-12|2019-07-16|Autodesk Inc.|Generative modeling framework for deferred geometry generation|CN105740802A|2016-01-28|2016-07-06|北京中科慧眼科技有限公司|Disparity map-based obstacle detection method and device as well as automobile driving assistance system|
US10399280B1|2016-04-29|2019-09-03|The Administrators Of The Tulane Educational Fund|Method and system for rapid and efficient three-dimensional printing|
US10926467B2|2019-04-15|2021-02-23|Zhejiang Xunshi Technology Co., Ltd|3D printer with multiple light sources and its controlling method|
法律状态:
2016-06-29| PLFP| Fee payment|Year of fee payment: 2 |
2017-01-06| PLSC| Search report ready|Effective date: 20170106 |
2017-06-19| PLFP| Fee payment|Year of fee payment: 3 |
2018-06-25| PLFP| Fee payment|Year of fee payment: 4 |
2020-06-25| PLFP| Fee payment|Year of fee payment: 6 |
2021-06-29| PLFP| Fee payment|Year of fee payment: 7 |
优先权:
申请号 | 申请日 | 专利标题
FR1556188A|FR3038254B1|2015-06-30|2015-06-30|DATA PROCESSING DEVICE FOR ADDITIVE MANUFACTURING|FR1556188A| FR3038254B1|2015-06-30|2015-06-30|DATA PROCESSING DEVICE FOR ADDITIVE MANUFACTURING|
EP16747818.9A| EP3317783A1|2015-06-30|2016-06-28|Device for processing data for additive manufacturing|
US15/738,465| US10751947B2|2015-06-30|2016-06-28|Device for processing data for additive manufacturing|
PCT/FR2016/051603| WO2017001768A1|2015-06-30|2016-06-28|Device for processing data for additive manufacturing|
[返回顶部]